# -*- coding:utf-8 -*-
'''
Created on 17.01.2010

@author: r4smus
'''
from random import choice


class VocabelTrainer(object):
    '''
    Einfacher Vokabeltrainer in Deutsch - Englisch (deutsches Wort gegeben)
    '''
    __dict = {'Haus' : 'house', 'Auto' : 'car', 'Schule' : 'school', 'Berg' : 'mountain'}
    __richtigeAntworten = 0 
    __falscheAntworten = 0
    __anzahlVoc = 0
    
    
    def hinzufuegen(self, wortDE, wortEN):
        ''' 
        Fügt ein neues Woerter Paar dem Dictionary hinzu.
        '''   
        self.__dict[wortDE] = wortEN
    
    def trainieren(self, anzahlVoc):
        '''
        Startet eine Trainingslektion mit einer gewuenschten Anzahl von Vokabeln
        '''
        self.__anzahlVoc = anzahlVoc
        for i in range(0, anzahlVoc):
            zufaelligesWort = choice(self.__dict.keys())
            print 'Bitte geben sie das englische Wort zu <' +str(zufaelligesWort) +'> ein'
            eingabe = raw_input()
            if self.__dict[zufaelligesWort].lower() == eingabe.lower():
                print 'Ihre Antwort war richtig!'
                self.__richtigeAntworten = self.__richtigeAntworten + 1
            else:
                print 'Ihre Antwort war falsch!'
                self.__falscheAntworten = self.__falscheAntworten + 1
                       
    def zuruecksetzen(self):
        '''
        Setzt die Attribute richtige und falsche Antworten zurück und statet eine
        neue Trainingslektion mit der vorherigen Anzahl von Vokabeln.
        '''
        self.__richtigeAntworten = 0
        self.__falscheAntworten = 0
        self.trainieren(self.__anzahlVoc)
        
    def ergebnisAusgabe(self):
        '''
        Gibt das Ergebnis einer Trainingslektion in der Konsole aus
        ''' 
        print 'Sie haben ' +str(self.__richtigeAntworten) +' richtige  und ' +str(self.__falscheAntworten) +' falsche Antworten gegeben.'
        
    
    
            
         